notifyDatasetChanged无效的解决办法
出现问题
比如这样给适配器传一个集合1
2
3
4List datas;
datas = DBDao.selectMyClock(); //此句是返回一个List
clocksAdapter = new AlarmClockListAdapter(getContext(), datas);
myClocks.setAdapter(clocksAdapter);数据库刷新了,然后想这样刷新数据
1
2
3
4private void refresh() {
datas = DBDao.selectMyClock();
clocksAdapter.notifyDataSetChanged();
}是无效的,因为datas指向了两个对象
解决办法:清空集合,再将新的数据添加进去即可
1
2
3
4
5public void refresh() {
datas.clear();
datas.addAll(DBDao.selectMyClock());
clocksAdapter.notifyDataSetChanged();
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 七夜的小屋!